# 1. getattr(实例对象 或 类，’属性名‘，缺省值)
class Phone():
    recharge = True
    def __init__(self,brand):
        self.brand = brand

    def call(self):
        # 在其他方法定义的 属性值，需要运行函数才 有，不建议
        self.send = 'nan'


iphone = Phone('apple')
# 实例， 实例.类属性， 实例。实例属性
print(getattr(iphone,'recharge','华为'))
# todo 类     类。类属性     类不能访问 实例属性
print(getattr(Phone,'brand','类.类属性'))

# 2. setattr()   常用在 后面才知道属性值得时候，增加上去
# 获取没有的属性会报错，设置不会，和字典类似
iphone.color = 'red'
print(iphone.color)

# setattr
setattr(iphone,'foood','辣条')
print(iphone.foood)
# setattr 设置属性，如果有这个属性就修改，没有就增加
setattr(iphone,'brand','oppo')
print(iphone.brand)